package repository;

import java.sql.SQLException;
import java.util.List;

import models.Cliente;

public interface IRepositorioCliente {

	boolean inserirCliente(Cliente cliente) throws SQLException;

	boolean removerCliente(Cliente cliente) throws SQLException;

	boolean atualizarCliente(Cliente cliente) throws SQLException;

	List<Cliente> listarCliente() throws SQLException;

	List<Cliente> buscarClienteApolice(String chave) throws SQLException;

	List<Cliente> buscarClienteCI(String chave) throws SQLException;

	List<Cliente> buscarClienteInicioVigencia(String chave) throws SQLException;

	List<Cliente> buscarClienteTerminoVigencia(String chave)
			throws SQLException;

	int ultimoIdCliente() throws SQLException;

	boolean verificarApolice(String chave) throws SQLException;

	boolean verificarCI(String chave) throws SQLException;

	List<Cliente> faltaDadosCIApolicePlacaRENAVAN() throws SQLException;

	Cliente retornaCliente(int id) throws SQLException;

	List<Cliente> DatasTerminoVigencia() throws SQLException;

	// Bem Segurado

	List<Cliente> buscarBemSeguradoChassi(String chave) throws SQLException;

	List<Cliente> buscarBemSeguradoPlaca(String chave) throws SQLException;

	List<Cliente> buscarBemSeguradoVeiculo(String chave) throws SQLException;

	boolean verificarChassi(String chave) throws SQLException;

	boolean verificarRENAVAN(String chave) throws SQLException;

	boolean verificarPlaca(String chave) throws SQLException;

	// Segurado

	List<Cliente> buscarSeguradoCNH(String chave) throws SQLException;

	List<Cliente> buscarSeguradoProponente(String chave) throws SQLException;

	List<Cliente> buscarSeguradoCPF(String chave) throws SQLException;

	List<Cliente> aniversariantes() throws SQLException;

}
